// JavaScript Document
function initializeTablero(){
		tablero_velocimetro = new Velocimetro();
		tablero_velocimetro.putDisplayIn('posVelocimetro');
		tablero_brujula = new Brujula();
		tablero_brujula.putDisplayIn('posBrujula');
		tablero_rpm = new Rpm();
		tablero_rpm.putDisplayIn('posRpm');
		tablero_odometroParcial = new Odometro({digits:6, id:'odometroParcial', odometroURL:'js/tablero/odometro/'});
		tablero_odometroParcial.putDisplayIn('posOdometroParcial');
		tablero_odometroTotal = new Odometro({digits:6, id:'odometroTotal', odometroURL:'js/tablero/odometro/'});
		tablero_odometroTotal.putDisplayIn('posOdometroTotal');

		tablero_odometroCaudalimetro = new Odometro({digits:3,simbols:"$",decimals:2, id:'odometroCaudalimetroSimbolos', odometroURL:'js/tablero/odometro/',});
		
		
		//tablero_odometroCaudalimetro = new Odometro({digits:3, id:'odometroCaudalimetro', odometroURL:'js/tablero/odometro/'});
		tablero_odometroCaudalimetro.putDisplayIn('posOdometroCaudalimetro');
	/*	tablero_odometroCaudalimetroDecimal = new Odometro({digits:2, id:'odometroCaudalimetroDecimal', odometroURL:'js/tablero/odometro/'});
		tablero_odometroCaudalimetroDecimal.putDisplayIn('posOdometroCaudalimetroDecimal');
*/
		tablero_display = new LedMarquee({text:'', size:28});
		tablero_display.putDisplayIn('posDisplayTablero');
		tablero_voltimetro = new Voltimetro();
		tablero_voltimetro.putDisplayIn('posVoltimetro');
		tablero_fuelandtemp = new Fuelandtemp();
		tablero_fuelandtemp.putDisplayIn('posFuelandtemp');
		tablero_puertas = new IndicadorPuertas();
		tablero_puertas.putDisplayIn('posPuertas');
		tablero_indgral = new IndicadorGeneral();
		tablero_indgral.putDisplayIn('posIndGral');

		//TEMPERATURA CARGA//
		tablero_temperaturaCarga = new Odometro({digits:3,simbols:"N",decimals:2, id:'temperaturaCarga', odometroURL:'js/tablero/odometro/'});
		//tablero_temperaturaCargaDecimal = new Odometro({digits:2, id:'temperaturaCargaDecimal', odometroURL:'js/tablero/odometro/'});
		tablero_temperaturaCarga.putDisplayIn('temperaturaCarga');
	//	tablero_temperaturaCargaDecimal.putDisplayIn('temperaturaCargaDecimal');
	}

function refreshMovilTablero(){
	if (cuentaSelectTablero == '-1')
		return;
	if(misVehiculosHash.containsKey(cuentaSelectTablero)){
		var movil = misVehiculosHash.get(cuentaSelectTablero);
		tablero_display.setText(movil.label);
		if (movil.POSIMOVIL!=null){
			tablero_rpm.moveToValue(parseInt(movil.POSIMOVIL.rpm)/100);
			tablero_velocimetro.moveToValue(parseInt(movil.POSIMOVIL.velocidad));
			tablero_velocimetro.setState(movil.POSIMOVIL.contactoMotor);
			tablero_brujula.moveToValue(obtenerLabelSentido(movil.POSIMOVIL.sentido));
			tablero_odometroTotal.setValue(parseInt(movil.POSIMOVIL.odometroTotal));
			tablero_odometroParcial.setValue(parseInt(movil.POSIMOVIL.odometroParcial));
			tablero_voltimetro.moveToVoltA(parseFloat(movil.POSIMOVIL.bateriaPrincipal)/100);
			tablero_voltimetro.moveToVoltB(parseFloat(movil.POSIMOVIL.bateriaSecundaria)/100);
			tablero_indgral.setValues(parseInt(movil.POSIMOVIL.alimentacion),null,null);
			//TEMPERATURA DEL MOTOR///
			if (movil.controlaTemperaturaMotor == true && movil.POSIMOVIL.temperaturaMotor !== "") {
				tablero_fuelandtemp.moveToTemperature(movil.POSIMOVIL.temperaturaMotor);
			}else {
				tablero_fuelandtemp.moveToTemperature(null);
			}
			//PORCENTAJE TANQUE LLENO///
			if (movil.controlaTanqueNafta == true && movil.POSIMOVIL.porcentajeTanque !== "") {
				tablero_fuelandtemp.moveToFuel(movil.POSIMOVIL.porcentajeTanque);
			} else {
				tablero_fuelandtemp.moveToFuel(null);
			}
			//CAUDALIMETRO//
			if (movil.controlaCaudalimetro == true && movil.POSIMOVIL.consumoActual != "") {
				var numEnteroDecimal = null;
				if (movil.POSIMOVIL.consumoActual.toFixed(2).indexOf(".") != -1) {
					numEnteroDecimal = (movil.POSIMOVIL.consumoActual.toFixed(2) + "").split('.');
				} else {
					numEnteroDecimal = (movil.POSIMOVIL.consumoActual.toFixed(2) + "").split(',');
				}
				var parteEntera = parseInt(numEnteroDecimal[0]);
				var parteDecimal = parseInt(numEnteroDecimal[1]);
				
				tablero_odometroCaudalimetro.setValue(movil.POSIMOVIL.consumoActual);
			//	tablero_odometroCaudalimetroDecimal.setValue(parteDecimal);
				
				/*var fechaElegante = new MyDate(movil.POSIMOVIL.consumoActualFecha);
				tablero_fuelandtemp.fechaFuel = fechaElegante.elegantFormat();
				tablero_fuelandtemp.generateTooltip();*/

			} else {
				tablero_odometroCaudalimetro.setValue(0);
				//tablero_odometroCaudalimetroDecimal.setValue(0);
			}
			/////TEMPERATURA DE CARGA/////
			if (movil.controlaTemperaturaCarga != null && movil.POSIMOVIL.temperaturaCarga != "") {
				var numEnteroDecimalTC = null;
				if (movil.POSIMOVIL.temperaturaCarga.toFixed(2).indexOf(".") != -1) {
					numEnteroDecimalTC = (movil.POSIMOVIL.temperaturaCarga.toFixed(2) + "").split('.');
				} else {
					numEnteroDecimalTC = (movil.POSIMOVIL.temperaturaCarga.toFixed(2) + "").split(',');
				}
				var parteEnteraTC = parseInt(numEnteroDecimalTC[0]);
				var parteDecimalTC = parseInt(numEnteroDecimalTC[1]);
				
				tablero_temperaturaCarga.setValue( movil.POSIMOVIL.temperaturaCarga);
			//	tablero_temperaturaCargaDecimal.setValue(parteDecimalTC);
			} else {
				tablero_temperaturaCarga.setValue(0);
				//tablero_temperaturaCargaDecimal.setValue(0);
			}
			//5 puertas del auto , 3 puertas de acoplado, enganche, libreocupado
			var puerta1=puerta2=puerta3=puerta4=puerta5=puerta6=puerta7=puerta8=enganche=libreOcupado=prePanico= null;
			//VERIFICA SI CONTROLA PUERTA 1 Y SI ESTA ABIERTA O CERRADA
			puerta1 =verificaEstado(movil.controlaPuerta1,movil.POSIMOVIL.digitales);
			//VERIFICA SI CONTROLA PUERTA 2 Y SI ESTA ABIERTA O CERRADA
			puerta2 =verificaEstado(movil.controlaPuerta2,movil.POSIMOVIL.digitales);
			//VERIFICA SI CONTROLA PUERTA 3 Y SI ESTA ABIERTA O CERRADA
			puerta3 =verificaEstado(movil.controlaPuerta3,movil.POSIMOVIL.digitales);
			//VERIFICA SI CONTROLA PUERTA 4 Y SI ESTA ABIERTA O CERRADA
			puerta4 =verificaEstado(movil.controlaPuerta4,movil.POSIMOVIL.digitales);
			//VERIFICA SI CONTROLA PUERTA 5 Y SI ESTA ABIERTA O CERRADA
			puerta5 =verificaEstado(movil.controlaPuerta5,movil.POSIMOVIL.digitales);
			//VERIFICA SI CONTROLA ENGANCHE Y SI ESTA ACTIVADO O DESACTIVADO
			if(movil.controlaEnganche!=-1){
				enganche= verificaEstado(movil.controlaEnganche,movil.POSIMOVIL.digitales);
				//VERIFICA SI CONTROLA PUERTA 6 Y SI ESTA ABIERTA O CERRADA
				puerta6	= verificaEstado(movil.controlaPuerta6,movil.POSIMOVIL.digitales);
				//VERIFICA SI CONTROLA PUERTA 7 Y SI ESTA ABIERTA O CERRADA
				puerta7 = verificaEstado(movil.controlaPuerta7,movil.POSIMOVIL.digitales);
				//VERIFICA SI CONTROLA PUERTA 8 Y SI ESTA ABIERTA O CERRADA
				puerta8 = verificaEstado(movil.controlaPuerta8,movil.POSIMOVIL.digitales);
			}
			libreOcupado= verificaEstado(movil.controlaLibreOcupado,movil.POSIMOVIL.digitales);
			if(libreOcupado!=null  && movil.SENSORES.libreOcupado.factor == 0){
				libreOcupado = libreOcupado==1 ? 0:1;
			}
			var oLO = new Object();
			oLO.maximo	= movil.SENSORES.libreOcupado.maximo;
			oLO.minimo	= movil.SENSORES.libreOcupado.minimo;
			oLO.estado	= libreOcupado;
				
			prePanico	= verificaEstado(movil.controlaPrepanico,movil.POSIMOVIL.digitales);
			if(prePanico!=null  && movil.SENSORES.prepanico.factor == 0){
				prePanico = prePanico==1 ? 0:1;
			}
			var oPP = new Object();
			oPP.maximo	= movil.SENSORES.prepanico.maximo;
			oPP.minimo	= movil.SENSORES.prepanico.minimo;
			oPP.estado	= prePanico;
			
			tablero_puertas.setPuertas(puerta1,puerta2,puerta3,puerta4,puerta5,puerta6,puerta7,puerta8,enganche,oLO,oPP);
		}
	}
}
/**
 * Verifica si controla la puerta, si NO controla devuelve Null,
 * si controla devuelve si esta abierta o cerrada (1 o 0).
 */
function verificaEstado(controlaPuertaX,digitales){
	var puerta = null;
	if(controlaPuertaX !=-1 ){
		if(digitales.length > controlaPuertaX ){
			puerta = digitales.charAt(controlaPuertaX);
		}
	}
	return puerta;
}

function viewMovilTablero(idMovil){
	if (idMovil!='-1'){
		cuentaSelectTablero = idMovil.toString();
		refreshMovilTablero();
		refreshTablero();
		$j("#TableroContainerMonitorDiv").show();
	}
}

function centrarTablero(){
	if (cuentaSelectTablero == '-1') return;
		cMapController.getMapActive().localizarMovil(cuentaSelectTablero);
}

function seguirTablero(){
	cMapController.getMapActive().seguirMovil(cuentaSelectTablero);
	//cleanAllStates();
}
function closeTablero(){
	$j("#TableroContainerMonitorDiv").hide();
}